import axiosInstance from './axiosInstance';

/**
 * 用户管理相关API
 */
export const userApi = {
  /**
   * 获取用户列表
   * @param {Object} params - 查询参数
   * @param {string} params.username - 用户名（可选）
   * @param {string} params.realName - 真实姓名（可选）
   * @param {number} params.departmentId - 部门ID（可选）
   * @param {number} params.roleType - 角色类型（可选）
   * @param {number} params.status - 状态（可选）
   * @param {number} params.page - 页码
   * @param {number} params.pageSize - 每页大小
   * @returns {Promise} - 返回Promise对象
   */
  getUsers: (params) => {
    return axiosInstance.get('/user/list', { params });
  },

  /**
   * 获取用户详情
   * @param {number} id - 用户ID
   * @returns {Promise} - 返回Promise对象
   */
  getUserById: (id) => {
    return axiosInstance.get(`/user/${id}`);
  },

  /**
   * 新增用户
   * @param {Object} userData - 用户数据
   * @returns {Promise} - 返回Promise对象
   */
  addUser: (userData) => {
    return axiosInstance.post('/user', userData);
  },

  /**
   * 更新用户
   * @param {number} id - 用户ID
   * @param {Object} userData - 用户数据
   * @returns {Promise} - 返回Promise对象
   */
  updateUser: (id, userData) => {
    return axiosInstance.put(`/user/${id}`, userData);
  },

  /**
   * 删除用户
   * @param {number} id - 用户ID
   * @returns {Promise} - 返回Promise对象
   */
  deleteUser: (id) => {
    return axiosInstance.delete(`/user/${id}`);
  },

  /**
   * 更新用户状态
   * @param {number} id - 用户ID
   * @param {number} status - 状态值
   * @returns {Promise} - 返回Promise对象
   */
  updateUserStatus: (id, status) => {
    return axiosInstance.put(`/user/${id}/status`, { status });
  },

  /**
   * 获取角色类型列表
   * @returns {Promise} - 返回Promise对象
   */
  getRoleTypes: () => {
    return axiosInstance.get('/user/roleTypes');
  },

  /**
   * 搜索用户
   * @param {Object} params - 搜索参数
   * @returns {Promise} - 返回Promise对象
   */
  searchUsers: (params) => {
    return axiosInstance.get('/user/search', { params });
  }
};

export default userApi;